파일 시스템

파일 시스템 (File System)

파일, 디렉토리, 파일 할당 방식

파일 (File)

File = name + attributes(metadata) + contents(data)

Unix 파일 연산

read()/write()에서 open()을 분리하는 이유: 실제 작업 전 경로 탐색(a→b→c)을 한 번만 수행하여 반복 오버헤드 제거

디렉토리 (Directory)

Directories = name + attributes(metadata)

경로 종류

파일 할당 방식

방식 정의 장점 단점
연속 할당 (Contiguous) 파일을 연속된 블록에 저장 순차/랜덤 접근 빠름 외부 단편화, 파일 크기 변경 어려움
연결 할당 (Linked) 각 블록이 다음 블록의 포인터를 포함 외부 단편화 없음, 파일 크기 유연 랜덤 접근 느림, 포인터 오버헤드
인덱스 할당 (Indexed) 인덱스 블록에 모든 블록 포인터 저장 랜덤 접근 지원, 외부 단편화 없음 인덱스 블록 공간 오버헤드

FAT12 (File Allocation Table)

구조

영역 역할
Reserved Area Boot Sector (BPB), FSINFO, Boot Strap
FAT Area Data Area 클러스터 할당 상태 표시
Root Directory Area 최상위 디렉토리의 파일/하위 디렉토리 목록
Data Area 실제 파일 데이터 (FAT 체인으로 연결된 클러스터)

Boot Sector → Jump command → BPB(BIOS Parameter Block) 참조 → 파일 시스템 구조 정의


관련 개념